A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
1. Field of the Invention
This invention relates generally to the field of electronic program guides. More particularly, this invention relates to a digital television electronic program guide system and method for providing updated program and system information.
2. Background of the Invention
Electronic program guides (EPGs) facilitate identifying event (e.g., a television program) content and times of broadcasted video by displaying broadcast information relevant to the content of the event. EPGs typically include a list of events and their schedules for the particular broadcast channel being viewed, or for multiple broadcast channels available for viewing. In analog television (ATV) broadcasts, a single broadcast channel includes both audio and video signals. Information data is typically included in the vertical blanking interval (VBI) line, not normally visible during the display of the audio/video event. This information data is extracted from the VBI and stored for subsequent display in an electronic program guide.
ATV broadcasts include only single program content since the bandwidth allocated to it""s physical broadcast channel is nearly fully utilized by the analog signal. Under the present standards for digital television (DTV), however, the typical 6 MHz physical channel used for ATV broadcast supports about 19 Mbps of digital signal throughput. Presently, audiovisual signals with standard resolution can be compressed using, for example, MPEG compression schemes to attain sustainable rates of 6 Mbps, or approximately 3 to 4 DTV channels can be safely supported in a single, digital-signal transport stream without congestion of the physical channel. Moreover, sufficient bandwidth is available within the same transport stream to provide several additional low-bandwidth, non-conventional services such as: weather reports, stock indices, headline news, software download (for games or enhanced applications), image-driven classified ads, home shopping, pay-per-view information, and the like.
It is therefore practical to provide services (virtual channels) carried in a physical transmission channel (19 Mbps of bandwidth for the United States) numbering ten or more. For example, a service provider that is broadcasting television data over a broadband physical channel (major channel) is able to simultaneously broadcast multiple DTV programs over virtual channels (minor channels), with each minor channel having its own associated event content and event schedule elementary digital data streams.
Unlike ATV broadcasts where it is safely presumed that the broadcaster is always actively broadcasting its single channel over its allocated physical channel, and where only a single list of events is necessary to describe the television program content on that physical channel, the number and types of minor channels comprising a DTV major channel require numerous and extensive event information. Moreover, the number and types of minor channels contained within the major channel may change continuously and without warning. Such changes compromise the ability of electronic program guides to accurately display to the television viewer only those minor channels which are actively broadcasting, and render dubious the validity of the displayed event information for each active minor channel.
The system of the present invention effectuates an EPG for DTV that dynamically detects changes in the broadcast status of minor and major DTV channels, and changes in their event information, prior to displaying the EPG information, thereby enabling the display of updated minor and major channels and event information on a display screen. In some embodiments, the system of the present invention includes a digital tuner, a transport stream de-multiplexor, a video circuit, a graphics circuit, and digital signal processor circuit. Additionally, a graphics/video mixer, and RAMDAC may be provided for concurrently displaying video and EPG graphics on a display.
The tuner circuit receives a modulated digital broadcast signal and demodulates at least one physical transmission (major) channel to provide at least one digital signal transport stream. A transport stream de-multiplexor de-muxes the transport stream to provide digital signal elementary streams including at least one video elementary stream, at least one audio elementary stream, and program and system information (PSI) elementary streams. The PSI streams comprise a hierarchy of associated tables that provide electronic program guide data at the event level for minor channels carried in the transport stream, for virtual channels comprising other transport streams, or for analog or data broadcasts. For purposes of the present invention, a program is defined as a collection of associated program elements (e.g., video, audio, data, and the like).
In some embodiments the PSI elementary streams are packetized and multiplexed according to the transport protocol detailed in ISO/IEC 13818-1, the disclosure of which is hereby incorporated by reference herein. In these embodiments, the PSI table protocol is defined by Advanced Television Systems Committee (ATSC) Standard A65, xe2x80x9cProgram and System Information Protocol For Terrestrial Broadcast and Cable,xe2x80x9d the disclosure of which is also hereby incorporated by reference herein. In accordance with the transport protocol each table includes a packet identifier (PID) permitting associating elementary stream packets with one another.
In accordance with one aspect of the EPG system of the present invention, the system of the present invention includes a digital signal processor circuit which compares currently broadcasting PSI parameters with PSI parameters previously stored in a memory to thereby determine whether the PSI content stored in memory is valid (i.e., unchanged). By way of operation, the transport de-multiplexor extracts the elementary streams from the transport stream packet to make the PSI elementary stream data available to the digital signal processor circuit. A computer memory for storing PSI table information and parameters is in electronic communication with the signal processor to permit retrieving and storing of PSI data. The memory used to store PSI content data is selected from volatile and non-volatile RAM devices including, but not limited to, SRAMs, EPROMs, and the like, magnetic and optical disks, and holographic memories.
By way of operation, a processor reads the currently broadcasting value of at least a portion of the system parameters from the appropriate PSI elementary streams, and compares those currently broadcasting values with previously stored values of those parameters to determine if the parameter values have changed. If a parameter value has changed, the currently broadcasting program and system information is read into memory to thereby update the stored program and system information. Machine readable code used to effectuate the features of the EPG of the present invention is stored in either the same memory as the PSI data content and parameter values, or in a separate ROM.
In accordance with another aspect of the EPG system of the present invention, a graphics circuit is in electrical communication with the processor and with the memory to permit graphically displaying on a display monitor an EPG showing only validated, or updated, minor and major channels, and event information. Since the program and system information retrieved from memory is always previously compared to the currently broadcasting PSI prior to displaying the EPG updated information, the displayed EPG provides accurate, valid program and system information including minor and major channel broadcasting status, event schedules, and related contextual information.
In accordance with yet another aspect of the system of the present invention, the digital tuner is in electrical communication with the digital signal processor circuit to thereby enable the processor to command the tuner/decoder subsystem to tune to an alternate minor channel, or an alternate physical channel. Advantageously, the selected channel is known to be actively broadcasting since the broadcasting status of the selected channel has been verified as active by the system and method of the present invention prior to displaying the EPG. Conveniently, the EPG of the present invention provides a graphical user interface to enable the viewer to select a minor channel or a major channel using a cursor or other graphics selection means, including but not limited to a cursor, icon, selection box, highlighted selection, combinations of the foregoing, and the like, on the display screen. Selection of a channel may be made as between minor channels, between major channels, or between a major and a minor channel. Once the viewer has selected a channel, an interrupt is generated by the viewer signaling the processor to command the digital tuner to tune to the frequency of the selected channel.
The method of the present invention includes decoding a digital signal transport stream to provide program elementary streams to the system of the present invention as described above, comparing currently broadcasting PSI parameter values with previously stored PSI parameter values, and refreshing PSI parameter values in memory if the comparison indicates that the parameter values have changed. As a result, the EPG of the present invention displays only current, valid program information.
In accordance with one aspect of the method of the present invention, a digital signal transport stream is decoded to provide a plurality of digital signal elementary streams comprising associated video, audio, and program and system information digital data signal elementary streams. In some embodiments, the transport stream is packetized and identified according to a packet identifier (PID). The elementary streams comprise a hierarchy of associated tables used by the system of the present invention to provide the program and system information content displayed in the EPG of the present invention. The various tables include version number values indicating the current status of the information contained in the table. As information in a table changes, the version number increments to reflect a change in table content.
In accordance with another aspect of the method of this invention, the version number value of a table is used by the method of this invention to determine whether memory must be updated to include current program and system information. Version number values for each table used by the EPG of the present invention are stored in memory. These version numbers are retrieved from memory and compared to the corresponding currently broadcasting version numbers of the tables. If the version number values are different, thereby indicating that the information content of the associated table has changed, the information contained that table stored in memory is updated with the currently broadcasting information. Advantageously, by performing the above described comparison on a periodic basis, or whenever the EPG is invoked, the viewer receives only accurate, valid information in the EPG.
In accordance with yet another aspect of the method of the present invention, a cursor or user manipulable icon is displayed in the EPG permitting viewer selection of actively broadcasting channels. Once a channel has been selected, a control signal is sent to the processor to thereby instruct the tuner/decoder of the system of this invention to tune to the appropriate broadcast frequency and/or select the appropriate audio/video and PSI elementary streams. After decoding the transport stream containing the new channel information, the system queries the memory to determine if that alternate channel""s program information had been previously stored. If not, the currently broadcasting program information is stored in memory. If the information had been previously stored, the processor compares the stored information with the currently broadcasting information as described above and updates the memory as necessary. In other embodiments, the method is simplified by immediately loading the currently broadcasting program information into memory without performing an initial comparison.